home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / mtmenus.d < prev    next >
Text File  |  1997-10-26  |  4KB  |  89 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *  MAGICTOOLS   Modula's  All purpose  GEM  Interface  Cadre  Toolbox  *
  4.  *               ÿ         ÿ            ÿ    ÿ          ÿ               *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus, sowie die   *
  11.  * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
  12.  * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail-    *
  13.  * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen    *
  14.  * Einverst„ndnisserkl„rung des Autors.                                 *
  15.  *                                                                      *
  16.  * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist    *
  17.  * fr Lizenznehmer ausdrcklich erlaubt!  Der Autor beh„lt sich das    *
  18.  * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
  19.  * widerrufen.                                                          *
  20.  *----------------------------------------------------------------------*)
  21.  
  22. (*----------------------------------------------------------------------*
  23.  * mtMenus      Manipulation der GEM-Menzeile. Verlegt die Menzeile   *
  24.  *              in die Infozeile eines Fensters.                        *
  25.  *----------------------------------------------------------------------*)
  26.  
  27. DEFINITION MODULE mtMenus;
  28.  
  29. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  30.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  31.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  32.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  33.  
  34.  
  35.  
  36.  
  37.  
  38. IMPORT SYSTEM;
  39.  
  40. TYPE    MENUBAR;  (* Die Menu-Variable *)
  41.  
  42. PROCEDURE NewMenu  (menu: SYSTEM.ADDRESS; VAR bar: MENUBAR): BOOLEAN;
  43. (* Erzeugt eine neue Menu-Variable *)
  44.  
  45. PROCEDURE FreeMenu (VAR bar: MENUBAR);
  46. (* gibt die Menu-Variable wieder frei.  bar ist anschliesend undefiniert! *)
  47.  
  48. PROCEDURE DrawMenu (bar: MENUBAR; window: sINTEGER; VAR rect: ARRAY OF LOC);
  49. (* Zeichnet das Menu in ein Fenster.  Das Fenster MUSS eine Infozeile ent-
  50.  * halten!  Retuniert ein Rechteck, welches Sie Ihrer Hauptevent-Routine
  51.  * bergeben (als MUM1-Rechteck oder MUM2-Rechteck, mit Modus EnterRect).
  52.  *
  53.  * DrawMenu muž bei jeder Ve„nderung des Fensters (Gr”že, Position und Top-
  54.  * Window) aufgerufen werden, um jeweils die richtige Anzeige und das richtige
  55.  * Reaktionsrechteck zu erhalten.
  56.  *)
  57.  
  58. PROCEDURE HandleMenu (VAR menu, entry: sINTEGER);
  59. (* Wenn ein Maus-Rechteck-Event (MUM1 oder MUM2) auftritt, sollten Sie zun„chst
  60.  * prfen, ob dem oberstem Window ein MENUBAR zugeordnet ist. Anschliežend
  61.  * rufen Sie die Prozedur HandleMenu auf, die das Menu-Managment bernimmt.
  62.  * Die Prozedur retouniert das selektierte Men und den selektierten Eintrag,
  63.  * bzw. in beiden Werten -1, wenn der Benutzer das Men abgebrochen hat.
  64.  *
  65.  * Sobald ein Dropdown-Men auf dem Bildschirm zu sehen ist, k”nnen Sie die
  66.  * Eintr„ge in gewohnter Weise mit der Maus selektieren. Sie k”nnen aber auch
  67.  * per Tastatur anw„hlen:
  68.  *
  69.  * RETURN oder ENTER selektiern einen Eintrag; mit den Cursor-Hoch/Runter-
  70.  * Tasten w„hlen Sie einen Eintrag aus; UNDO bricht das Menab.
  71.  *)
  72.  
  73. TYPE Config = (click, drop, pull);
  74.  
  75. PROCEDURE ConfigMenu (conf: Config);
  76. (* ConfigMenu erlaubt die Konfiguration des Mens:
  77.  * 
  78.  * click = Das Men muž angeklickt werden, um zu erscheinen.
  79.  *         Das ist der Default-Zustand.
  80.  *
  81.  * drop =  Das Men erscheint sobald der Mauszeiger innerhalb
  82.  *         des Mentitels ist. Dies entspricht dem Vorgehen des AES.
  83.  *
  84.  * pull =  Das Men muž angeklickt und die Maustaste festgehalten werden,
  85.  *         bis ein Eintrag selektiert, oder das Men abgebrochen wurde.
  86.  *)
  87.  
  88. END mtMenus.
  89.